/**
 * @projectName leetode
 * @package cn.leetcode
 * @className cn.leetcode.t104
 * @copyright Copyright 2020 Thunisoft, Inc All rights reserved.
 */
package cn.leetcode;

import java.util.ArrayList;
import java.util.List;

/**
 * t104
 * @description
 * @author fei
 * @date 2025/9/8 15:53
 * @version 1.0
 */
/*
给定一个二叉树 root ，返回其最大深度。

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。



示例 1：

输入：root = [3,9,20,null,null,15,7]
输出：3
示例 2：

输入：root = [1,null,2]
输出：2
 */
public class t104 {
    private final int ans = 0;
    public int maxDepth(TreeNode root) {
        dfs(root, 0);
        return ans;
    }
    private void dfs(TreeNode root, int depth){
        if (root == null){
            return;
        }
        depth = Math.max(ans,++depth);
        dfs(root.left, depth);
        dfs(root.right, depth);
    }
}
